package com.supermap.dubbo.api.cloud.push;

import com.supermap.dataservice.util.JSONUtil;
import com.supermap.dataservice.util.JSONUtils;

import java.util.List;
import java.util.Map;


/**
 * @author aqua
 * @description
 * @date 2018年11月22 下午 3:34
 * @email 1301584033@qq.com
 */
public interface PushService {

    /**
     * 根据项目ID获取推送功能
     * */
    String getProductNoticeTypes(String productId);

    /**
     * 获取所有未读信息总数
     * */
    JSONUtil getReceiveuserIdCount(String receiveuserid,String noticetype);





    /**
     * 每一类未读信息
     * */
    JSONUtil getGroupReceiveuserIdCount(String receiveuserid,String noticetype);


    /***
     *
     *  某一类未读信息列表
     */
    List<Map<String, Object>> getNoticetypeReceiveuserIdList(String receiveuserid, String noticetype, Integer pageNum, Integer pageSize);


    /***
     *
     * 设置已读
     */
    JSONUtil putNoticeRead(Integer noticeId);




    /**
     * 入库
     * */
    void putNotice(Notice notice);
    /**
     * 多条消息入库
     * */
    int putNoticeList(List<Notice> noticeList);


    /**
     * 更新设备信息
     * */
    JSONUtil putNoticeCode(String code,Integer userId);

    /**
     * 查询设备信息
     * **/
    String getNoticeCodeByUserId(Integer userId);

    /**
     * 查询设备信息
     * **/
    String getNoticeObjectUseridList(Integer receiveuserid,Integer noticetype);

    /**
     * 查询设备信息
     * **/
    List<String> getAllUserIdByAreaCode(String areaCode);


    /**
     * 查询设备code
     * **/
    List<String> getUserCode(String users);


    JSONUtils getNoticeList(String noticetype, String userId, Integer pageSize);










}
